package com.movitech.mobile.cz.base.modules.suppliers.vo;

import java.util.List;

/**
 * 
 * @author Jack.Gong
 * @version 2018-02-11
 *
 * @param <T>
 */
public class Tree<T> {

	/**
	 * 节点ID
	 */
	private String id;
	/**
	 * 显示节点文本
	 */
	private String text;
	
	/**
	 * 节点的子节点
	 */
	private List<Tree<T>> children;

	/**
	 * 父ID
	 */
	private String parentId;

	/**
	 * 分类名称
	 */
	private String categoryName;

	/**
	 * 备注
	 */
	private String remarks;

	/**
	 * 层级
	 */
	private Integer categoryLevel;
	
	/**
	 * 是否有父节点
	 */
	private boolean isParent = false;
	/**
	 * 是否有子节点
	 */
	private boolean isChild = false;
	
	
	/**
	 * for检查项
	 * 检查项类型，实则为根节点
	 */
	private String checkType;

	/**
	 * 状态
	 */
	private Integer categoryStatus;

	/**
	 * 现场考察模板设置标识（0：否，1：是
	 */
	private Integer siteInspectionSetFlag;

	/**
	 * 履约过程评估模板设置标识（0：否，1：是）
	 */
	private Integer performEvalProcSetFlag;

	/**
	 * 履约后评估模板设置标识（0：否，1：是）
	 */
	private Integer performEvalPostSetFlag;

	/**
	 * 评分定级表设置标识（0：否，1：是）
	 */
	private Integer evaluateScoreSetFlag;

	/**
	 * 技术明标评分设置标识（0：否，1：是）
	 */
	private Integer technicalScoreSetFlag;

	/**
	 * 技术暗标评分模板设置标识（0：否，1：是）
	 */
	private Integer technicalDarkScoreSetFlag;

	/**
	 * 项目经理面试评分模板设置标识（0：否，1：是）
	 */
	private Integer pmInterviewScoreSetFlag;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getText() {
		return text;
	}

	public void setText(String text) {
		this.text = text;
	}

	public List<Tree<T>> getChildren() {
		return children;
	}

	public void setChildren(List<Tree<T>> children) {
		this.children = children;
	}

	public boolean isParent() {
		return isParent;
	}

	public void setParent(boolean isParent) {
		this.isParent = isParent;
	}

	public boolean isChild() {
		return isChild;
	}

	public void setChild(boolean isChild) {
		this.isChild = isChild;
	}

	public String getParentId() {
		return parentId;
	}

	public void setParentId(String parentId) {
		this.parentId = parentId;
	}

	public String getCheckType() {
		return checkType;
	}

	public void setCheckType(String checkType) {
		this.checkType = checkType;
	}

	public Tree(String id, String text, List<Tree<T>> children, boolean isParent, boolean isChild, String parentID,
				String checkType) {
		super();
		this.id = id;
		this.text = text;
		this.children = children;
		this.isParent = isParent;
		this.isChild = isChild;
		this.parentId = parentID;
		this.checkType = checkType;
	}

	public Tree() {
		super();
	}

	public Integer getCategoryLevel() {
		return categoryLevel;
	}

	public void setCategoryLevel(Integer categoryLevel) {
		this.categoryLevel = categoryLevel;
	}

	public Integer getSiteInspectionSetFlag() {
		return siteInspectionSetFlag;
	}

	public void setSiteInspectionSetFlag(Integer siteInspectionSetFlag) {
		this.siteInspectionSetFlag = siteInspectionSetFlag;
	}

	public Integer getPerformEvalProcSetFlag() {
		return performEvalProcSetFlag;
	}

	public void setPerformEvalProcSetFlag(Integer performEvalProcSetFlag) {
		this.performEvalProcSetFlag = performEvalProcSetFlag;
	}

	public Integer getPerformEvalPostSetFlag() {
		return performEvalPostSetFlag;
	}

	public void setPerformEvalPostSetFlag(Integer performEvalPostSetFlag) {
		this.performEvalPostSetFlag = performEvalPostSetFlag;
	}

	public Integer getEvaluateScoreSetFlag() {
		return evaluateScoreSetFlag;
	}

	public void setEvaluateScoreSetFlag(Integer evaluateScoreSetFlag) {
		this.evaluateScoreSetFlag = evaluateScoreSetFlag;
	}

	public Integer getTechnicalScoreSetFlag() {
		return technicalScoreSetFlag;
	}

	public void setTechnicalScoreSetFlag(Integer technicalScoreSetFlag) {
		this.technicalScoreSetFlag = technicalScoreSetFlag;
	}

	public Integer getTechnicalDarkScoreSetFlag() {
		return technicalDarkScoreSetFlag;
	}

	public void setTechnicalDarkScoreSetFlag(Integer technicalDarkScoreSetFlag) {
		this.technicalDarkScoreSetFlag = technicalDarkScoreSetFlag;
	}

	public Integer getPmInterviewScoreSetFlag() {
		return pmInterviewScoreSetFlag;
	}

	public void setPmInterviewScoreSetFlag(Integer pmInterviewScoreSetFlag) {
		this.pmInterviewScoreSetFlag = pmInterviewScoreSetFlag;
	}

	public Integer getCategoryStatus() {
		return categoryStatus;
	}

	public void setCategoryStatus(Integer categoryStatus) {
		this.categoryStatus = categoryStatus;
	}

	public String getCategoryName() {
		return categoryName;
	}

	public void setCategoryName(String categoryName) {
		this.categoryName = categoryName;
	}

	public String getRemarks() {
		return remarks;
	}

	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}
}
